package com.RabbitMQ.simple.Producter;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import java.io.IOException;
import java.util.concurrent.TimeoutException;

/**
 * Created by thinkjoy on 2017/6/29.
 */
public class Producter {
    public final static String QUEUE_NAME="rabbitMQ_queue_thinkjoy";

    public static void main(String[] args) throws IOException,TimeoutException{
        ConnectionFactory factory=new ConnectionFactory();//创建连接工厂
//        设置RabbitMQ相关消息
        factory.setHost("localhost");
//        创建一个新连接
        Connection connection=factory.newConnection();
//        创建一个通道
        Channel channel=connection.createChannel();
        /**
         * 声明一个队列
         * 参数:队列名称,是否持久化,是否独占队列,当所有消费者客户端连接断开时是否自动删除队列,队列的其他参数
         */
        channel.queueDeclare(QUEUE_NAME,false,false,false,null);
        String message="Hello RabbitMQ";
        /**
         * 发送消息到队列中
         * 参数:交换机名称,队列映射的路由key,消息的其他属性,发送消息的主体
         */
        channel.basicPublish("",QUEUE_NAME,null,message.getBytes("UTF-8"));
        System.out.println("生产者生产的消息:"+message);
//        关闭通道和连接
        channel.close();
        connection.close();
    }
}
